package cn.seecoder.ai.model.vo;
import cn.seecoder.ai.model.po.FileField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.Date;
import java.util.List;

/**
 *
 *
 */ /**
 * @author fanyanpeng
 * @date 2023/4/11 20:13
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FileInfoVO {

    private Integer id;

    private String fileUri;

    @ApiModelProperty("源文件uri，即上传时保存为csv文件类型，该uri可以直接请求下载")
    private String originalFileUri;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date uploadTime;

    private Integer userId;

    private String username;

    private String fileName;

    private List<FileFieldVO> fileFields;

    public Integer getId() {
        return id;
    }

    public FileInfoVO setId(Integer id) {
        this.id = id;
        return this;
    }

    public String getFileUri() {
        return fileUri;
    }

    public FileInfoVO setFileUri(String fileUri) {
        this.fileUri = fileUri;
        return this;
    }

    public String getOriginalFileUri() {
        return originalFileUri;
    }

    public FileInfoVO setOriginalFileUri(String originalFileUri) {
        this.originalFileUri = originalFileUri;
        return this;
    }

    public Date getUploadTime() {
        return uploadTime;
    }

    public FileInfoVO setUploadTime(Date uploadTime) {
        this.uploadTime = uploadTime;
        return this;
    }

    public Integer getUserId() {
        return userId;
    }

    public FileInfoVO setUserId(Integer userId) {
        this.userId = userId;
        return this;
    }

    public String getFileName() {
        return fileName;
    }

    public FileInfoVO setFileName(String fileName) {
        this.fileName = fileName;
        return this;
    }

    public List<FileFieldVO> getFileFields() {
        return fileFields;
    }

    public FileInfoVO setFileFields(List<FileFieldVO> fileFields) {
        this.fileFields = fileFields;
        return this;
    }


}
